<?php

namespace common\models\rbac;

use Yii;

/**
 * This is the model class for table "by_rbac_role".
 *
 * @property int $id
 * @property int $project_id 所属项目ID
 * @property string $name 角色名称
 * @property string $flag 角色标识
 * @property string $desc 描述
 * @property int $type 角色类型【1 : 普通角色   2：内置角色 99 : 系统角色】
 * @property int $status 状态【-1删除、0禁用、1启用】
 * @property int $sort 排序（数字越小，越靠前）
 * @property int $created_at 添加时间
 * @property int $updated_at 更新时间
 */
class Role extends \common\models\BaseModel
{
    const ID_NURSE = 73;    // 护士【系统角色】
    const ID_MEDICAL = 74;// 医助【系统角色】
    const ID_CUSTOMER = 75;// 客服【系统角色】

    const STATUS_DELETE = -1;// 删除
    const STATUS_INVALID = 0;// 失效
    const STATUS_ENABLE = 1;// 正常

    const TYPE_NOMAL = 1;// 普通角色
    const TYPE_INLAY = 2;// 内置角色【系统】

    public static $types = [
        self::TYPE_NOMAL => '普通角色',
        self::TYPE_INLAY => '系统角色',
    ];

    public static $statuss = [
        self::STATUS_DELETE => '删除',
        self::STATUS_INVALID => '停用',
        self::STATUS_ENABLE => '启用',
    ];

    /**
     * {@inheritdoc}
     */
    public static function tableName()
    {
        return 'by_rbac_role';
    }

    /**
     * {@inheritdoc}
     */
    public function rules()
    {
        return [
            [['project_id', 'type', 'status', 'sort', 'created_at', 'updated_at'], 'integer'],
            [['name', 'flag'], 'string', 'max' => 50],
            [['desc'], 'string', 'max' => 200],
        ];
    }

    /**
     * {@inheritdoc}
     */
    public function attributeLabels()
    {
        return [
            'id' => 'ID',
            'project_id' => 'Project ID',
            'name' => 'Name',
            'flag' => 'Flag',
            'desc' => 'Desc',
            'type' => 'Type',
            'status' => 'Status',
            'sort' => 'Sort',
            'created_at' => 'Created At',
            'updated_at' => 'Updated At',
        ];
    }
}
